// pages/login/index.js
import { CommonModel } from "../../api/api-common/commonModel.js";
import tabService from "../../utils/tab-service.js"
const commonModel = new CommonModel()
import Toast from '@vant/weapp/toast/toast';

Page({

  /**
   * 页面的初始数据
   */
  data: {
    username: "",
    password: ""
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },
  login() {
    // 第一步：手机号密码登录
    commonModel.mobileLogin({ username: this.data.username, password: this.data.password }).then(async response => {
      // 存储用户名和密码，用于刷新登录
      wx.setStorageSync('username', this.data.username)
      wx.setStorageSync('password', this.data.password)
      // 存储token
      wx.setStorageSync("token", response.token);
      // 存储机构列表
      let orgArr = []
      if (response.orgs.length > 0) {
        response.orgs.forEach((item, index) => {
          if (index == 0) {
            // 存储机构id,默认第一个机构
            wx.setStorageSync('LoginDeptAuth', response.orgs[0].id);
            wx.setStorageSync('LoginDeptName', response.orgs[0].name);
          }
          let obj = {
            text: item.name,
            value: item.id
          }
          orgArr.push(obj)
        })
        wx.setStorageSync('orgList', orgArr);

        commonModel.getInfoApi({ orgId: response.orgs[0].id }).then(info => {
          // 权限存储
          wx.setStorageSync('permissions', info.permissions)
          // 用户信息存储
          wx.setStorageSync('userInfo', info.user);
          // 用户角色存储
          wx.setStorageSync('roles', info.roles);
          // tabbar存储
          const arr = tabService.changeTabbarList(info.list);
          wx.setStorageSync('tabbarList', arr);

          // 登录成功
          wx.navigateBack({
            delta: 1,
            success: _ => {
              var pages = getCurrentPages();
              var prevPage = pages[pages.length - 2]; // 获取父页面实例对象
              prevPage.changeOrgItemClick()
            }
          })
        })


        // })
      }
      else {
        // 没有机构
        wx.setStorageSync('LoginDeptAuth', -1);
        wx.setStorageSync('orgList', [
          {
            text: "未登录",
            value: -1
          }
        ]);
        Toast('登录账号有误，请联系管理员！');
      }

      return;
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})